/*
 * Copyright (C) 2004, Velocityme Partnership
 * ChangeDeltaHelper.java
 *
 * Created on 14 July 2004, 11:07
 */

package com.velocityme.utility;

import com.velocityme.entity.ChangeDeltaItemTypeBean;
import com.velocityme.entity.ChangeDeltaTypeBean;
import com.velocityme.interfaces.ChangeDeltaItemTypeLocal;
import com.velocityme.interfaces.ChangeDeltaItemTypePK;
import com.velocityme.interfaces.ChangeDeltaItemTypeUtil;
import com.velocityme.interfaces.ChangeDeltaTypeLocal;
import com.velocityme.interfaces.ChangeDeltaTypePK;
import com.velocityme.interfaces.ChangeDeltaTypeUtil;
import javax.ejb.FinderException;
import javax.naming.NamingException;

/**
 *
 * @author  Robert
 */
public class ChangeDeltaHelper {
    
    static private ChangeDeltaHelper m_configInstance = null;
    
    private ChangeDeltaTypeLocal[] m_changeDeltaTypesLocal = null;
    
    private ChangeDeltaItemTypeLocal[] m_changeDeltaItemTypesLocal = null;
    
    /** Creates a new instance of ChangeDeltaHelper */
    private ChangeDeltaHelper() {
        m_changeDeltaTypesLocal = new ChangeDeltaTypeLocal[ChangeDeltaTypeBean.NUM_TYPES];
        m_changeDeltaItemTypesLocal = new ChangeDeltaItemTypeLocal[ChangeDeltaItemTypeBean.NUM_TYPES];
        try {
            for (int i = 0; i < m_changeDeltaTypesLocal.length; i++) {
                m_changeDeltaTypesLocal[i] = ChangeDeltaTypeUtil.getLocalHome().findByPrimaryKey(new ChangeDeltaTypePK(new Integer(i)));
            }
            for (int i = 0; i < m_changeDeltaItemTypesLocal.length; i++) {
                m_changeDeltaItemTypesLocal[i] = ChangeDeltaItemTypeUtil.getLocalHome().findByPrimaryKey(new ChangeDeltaItemTypePK(new Integer(i)));
            }
        }
        catch(NamingException e) {
            System.out.println(e.getMessage());
        }
        catch(FinderException e) {
            System.out.println(e.getMessage());
        }
    }
    
    public static ChangeDeltaHelper getInstance() {
        if (m_configInstance == null)
            m_configInstance = new ChangeDeltaHelper();
        return m_configInstance;
    }
    
    public ChangeDeltaTypeLocal getDeltaTypeLocal(int p_changeDeltaTypeId) {
        return m_changeDeltaTypesLocal[p_changeDeltaTypeId];
    }
    
    public ChangeDeltaItemTypeLocal getItemTypeLocal(int p_changeDeltaItemTypeId) {
        return m_changeDeltaItemTypesLocal[p_changeDeltaItemTypeId];
    }
    
}
